package com.hulk.rpc.config.common;

import com.typesafe.config.Config;
import org.apache.commons.lang3.StringUtils;

import java.util.List;

/**
 * @author xuxukang
 */
public class ConfigUtils {

  public static String getStringOrElse(Config config, String path, String defaultValue) {
    if (config.hasPath(path)) {
      String result = config.getString(path);
      if (StringUtils.isBlank(result)) {
        return defaultValue;
      }
      return result;
    } else {
      return defaultValue;
    }
  }

  public static List<String> getStringListOrElse(Config config, String path, List<String> defaultValue) {
    if (config.hasPath(path)) {
      return config.getStringList(path);
    } else {
      return defaultValue;
    }
  }

  public static int getIntOrElse(Config config, String path, int defaultValue) {
    if (config.hasPath(path)) {
      return config.getInt(path);
    } else {
      return defaultValue;
    }
  }

  public static boolean getBooleanOrElse(Config config, String path, boolean defaultValue) {
    if (config.hasPath(path)) {
      return config.getBoolean(path);
    } else {
      return defaultValue;
    }
  }

}
